/*
* oEmbed Plugin plugin
* Copyright (c) Ingo Herbote
* Licensed under the MIT license
* jQuery Embed Plugin: http://code.google.com/p/jquery-oembed/ (MIT License)
* Plugin for: http://ckeditor.com/license (GPL/LGPL/MPL: http://ckeditor.com/license)
*/
(function () {
   VED.plugins.add('oembed', {
      requires: ['dialog'],
      lang: 'en,ru',
      icons: 'oembed', // %REMOVE_LINE_CORE%
      init: function (editor) {
         // Load jquery?
/*
         if (typeof (jQuery) == 'undefined') {
            VED.scriptLoader.load('http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js', function() {
               if (typeof (jQuery.fn.oembed) == 'undefined') {
                  VED.scriptLoader.load(VED.getUrl(VED.plugins.getPath('oembed') + 'libs/jquery.oembed.min.js'));
               }
            });

         } else if (typeof (jQuery.fn.oembed) == 'undefined') {
            VED.scriptLoader.load(VED.getUrl(VED.plugins.getPath('oembed') + 'libs/jquery.oembed.min.js'));
         }
*/
         editor.addCommand('oembed', new VED.dialogCommand('oembed'));
         editor.ui.addButton('oembed', {
            label: editor.lang.oembed.button,
            command: 'oembed'
         });
         VED.dialog.add('oembed', function (editor) {
            return {
               title: editor.lang.oembed.title,
               minWidth: VED.env.ie && VED.env.quirks ? 568 : 550,
               minHeight: 240,
               onCancel: function () {
                  jQuery('#oembedInfoFooter').hide();
               },
               onOk: function () {
                  jQuery('#oembedInfoFooter').hide();
                  var inputCode = this.getValueOf('general', 'embedCode');
                  if (inputCode.length < 1 || inputCode.indexOf('http') < 0) {
                     alert(editor.lang.oembed.invalidUrl);
                     return false;
                  }
                  var width = this.getContentElement('general', 'width').getInputElement().getValue();
                  var height = this.getContentElement('general', 'height').getInputElement().getValue();
                  var editorInstance = this.getParentEditor();
                  var codeFound = null;
                  jQuery('body').oembed(inputCode, {
                     onEmbed: function (e) {
                        if (typeof e.code === 'string') {
                           editorInstance.insertElement( VED.dom.element.createFromHtml( editor.config.oembed_WrapperClass != null ? '<div class="' + editor.config.oembed_WrapperClass + '">' : '<div>' + e.code + '</div>' ));
                           VED.dialog.getCurrent().hide();
                        } else {
                           alert(editor.lang.oembed.noEmbedCode);
                        }
                     },
                     maxHeight: width,
                     maxWidth: height,
                     embedMethod: 'editor'
                  });
                  return false;
               },
               contents: [{
                  label: editor.lang.common.generalTab,
                  id: 'general',
                  elements: [{
                     type: 'html',
                     id: 'oembedHeader',
                     html: '<div style="white-space:normal;width:500px;padding-bottom:10px">' + editor.lang.oembed.pasteUrl + '</div>'
                  }, {
                     type: 'textarea',
                     id: 'embedCode',
                     height : "80",
                     focus: function () {
                        this.getElement().focus()
                     }
                  }, {
                     type: 'hbox',
                     widths: ['50%', '50%'],
                     children: [{
                        type: 'text',
                        id: 'width',
                        'default': editor.config.oembed_maxWidth != null ? editor.config.oembed_maxWidth : '560',
                        label: editor.lang.oembed.width
                     }, {
                        type: 'text',
                        id: 'height',
                        'default': editor.config.oembed_maxHeight != null ? editor.config.oembed_maxHeight : '315',
                        label: editor.lang.oembed.height
                     }]
                  }]
               }]
            }
         })
      }
   })
})();






